<template>
  <h1>员工列表练习</h1>
  <el-form style="width: 600px;margin: 0 auto;">
    <el-form-item label="姓名">
      <el-input placeholder="请输入员工姓名" v-model="emp.name"></el-input>
    </el-form-item>
    <el-form-item label="工资">
      <el-input placeholder="请输入员工工资" v-model="emp.salary"></el-input>
    </el-form-item>
    <el-form-item label="岗位">
      <el-input placeholder="请输入员工岗位" v-model="emp.job"></el-input>
    </el-form-item>
    <el-form-item>
      <el-button type="success" @click="addEmp">点我提交</el-button>
    </el-form-item>
  </el-form>

  <el-table style="width: 600px;margin: 0 auto;" :data="arr" stripe>
    <el-table-column type="index" label="编号" align="center" width="80"></el-table-column>
    <el-table-column prop="name" label="姓名" align="center"></el-table-column>
    <el-table-column prop="salary" label="工资" align="center"></el-table-column>
    <el-table-column prop="job" label="岗位" align="center"></el-table-column>
    <el-table-column label="操作" align="center">
      <template #default="scope">
        <el-button type="danger" size="small" @click="del(scope.row,scope.$index)">删除</el-button>
      </template>
    </el-table-column>
  </el-table>
</template>

<script setup>
import {ref} from "vue";
import {ElMessage} from "element-plus";

//定义对象用来保存表单双向绑定收集到的数据
const emp = ref({name:'',salary:'',job:''});
//定义数组用来保存多个员工数据
const arr = ref([]);
//定义保存员工的方法
const addEmp = () => {
  //判断表单数据是否为空
  if(emp.value.name.trim()=='' || emp.value.salary.trim()=='' || emp.value.job.trim()==''){
    ElMessage.error('请输入完整员工信息!');
    return;
  }
  //将收集到的数据保存到数组中
  arr.value.push(emp.value);
  //注意:双向绑定用完后的数据要清空!
  emp.value = {name:'',salary:'',job:''};
  console.log(arr.value);
}
//定义删除员工的方法
const del = (row,index) => {
  if (confirm('您确认要删除'+row.name+'吗?')){
    //删除数组中的元素
    arr.value.splice(index,1);
    ElMessage.success('删除成功!');
  }
}
</script>

<style scoped>

</style>